Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@shopify/app-bridge

Package Overview
Dependencies
Maintainers
19
Versions
322
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@shopify/app-bridge

[![Build Status](https://travis-ci.com/Shopify/app-bridge.svg?token=RBRyvqQyN525bnfz7J8p&branch=master)](https://travis-ci.com/Shopify/app-bridge) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE.md) [![npm version](https://ba

  • 1.30.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
28K
decreased by-61.02%
Maintainers
19
Weekly downloads
 
Created
Source

@shopify/app-bridge

Build Status License: MIT npm version npm bundle size (minified + gzip)

You can use Shopify App Bridge to embed apps and channels directly into the Shopify admin, Shopify Mobile, and Shopify POS. Shopify App Bridge helps to reduce your development time by accessing native Shopify features across different platforms, and makes sure that the user experience is consistent wherever merchants are using your app.

Shopify App Bridge is currently being released as an update to all current consumers of the Embedded App SDK. Since it’s backwards compatible, you don't need to update your existing apps for them to support Shopify App Bridge.

Installation

You can install Shopify App Bridge by using Yarn:

yarn add @shopify/app-bridge

Usage

Set up your app

In the following example, you need to store shopOrigin during the authentication process and then retrieve it for the code to work properly. To learn more about this process, see Getting and storing the shop origin.

Import the library from the @shopify/app-bridge package and provide a configuration:

import createApp from '@shopify/app-bridge';

const app = createApp({
  apiKey: 'API key from Shopify Partner Dashboard',
  shopOrigin: shopOrigin,
});

Actions

Shopify App Bridge introduces the concept of actions. An action provides a way for applications and hosts to trigger events with a statically-typed payload.

To learn more about the supported actions, see the actions documentation.

App State

Once the app is set up, you can access additional details and the state of the app at any time by making async call app.getState():

app.getState().then((state: any) => {
  console.info('App State: %o', state);
});

You can also use a shorthand to retrieve nested properties by passing in a query when calling getState(query), for example:

app.getState('pos.user').then((user: any) => {
  console.log('POS User: %o', user);
});

Hooks

Shopify App Bridge can be extended with hooks, which run when actions are dispatched and updated. Hooks are middleware that can modify or cancel actions.

Development & Debugging

Shopify App Bridge is shipped with a development build, which provides detailed debugging information during development.

If you're consuming App Bridge from a CDN or using the UMD build, simply include the development version: umd/index.development.js instead of umd/index.js

When consumed as JS Modules, development/production build is dynamically selected based on the NODE_ENV variable. Development build is used when NODE_ENV=development.

Please note that the development build is not intended for production use, as the file size is significantly larger.

Contributing

Useful scripts

  • yarn start - Start a development server.
  • yarn build - Build the library, compiling the source TypeScript into JavaScript.
  • yarn clean - Remove any artifacts produced by the build script.
  • yarn lint - Run the source linter.
  • yarn check - Run the TypeScript type checker.

Running the tests

  • yarn test - Run the tests.
  • yarn test:watch - Run the tests in watch mode and auto-rerun on changes.
  • yarn test:coverage - Run the tests and generate a coverage report.

Prettier config

To enable automatic prettier formatting, copy or link the pre-commit script to .git/hooks/pre-commit and make sure that it's executable.

Conventional Commits

Please follow a standardized commit message format when contributing to this repo: https://www.conventionalcommits.org/en/v1.0.0-beta.2/

FAQs

Package last updated on 01 Apr 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc